package research.persistence;

import java.util.List;

import research.entity.Entity;
import research.entity.EntityType;
import research.model.IHierarchyProvider;

public interface IPersistenceDataSource {
	public <T extends Entity> List<T> getAll(EntityType type);
	
	public Entity get(EntityType type, long id);
	
	public List<Entity> getChildren(Entity entity, IHierarchyProvider hierarchy);
	
	public Entity getParent(Entity entity, IHierarchyProvider hierarchy);
	
	public boolean isPersistent(Entity entity);
}
